package com.flyco.modules.sms.model;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.flyco.modules.sms.entity.SmsDiscountDetail;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

@Data
public class SmsDiscountModel {
    /**id*/
    private Long id;
    /**名称*/
    private String name;
    /**使用平台：all->全部；app->app端；wap->移动端；pc->pc端；weixinMini->微信小程序*/
    private String platform;
    /**类型；1:满金额减 2:满金额折  3:满件减 4:满件折 5:同商品第几件几折*/
    private Integer type;
    /**减免类型;1:按满足最高层级减一次,2:每满一次减一次*/
    private Integer discountType;
    /**startTime*/
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    private Date startTime;
    /**endTime*/
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    private Date endTime;
    /**0-未开始 1-已开始*/
    private Integer status;
    /**使用类型：0->全场通用；1->指定分类；2->指定商品*/
    private Integer useType;
    /**指定门店标识*/
    private Integer storeFlag;
    /**可用券导购级别，9:经理;5:店长;1:导购*/
    private Integer storePosition;
    /**备注*/
    private String note;
    /**可领取的会员类型：0->无限时*/
    private Integer memberLevel;
    /**分组 0：通用，1：强制*/
    private Integer discountGroup;
    /**创建人*/
    private String createBy;
    /**创建时间*/
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    private Date createTime;
    /**更新人*/
    private String updateBy;
    /**更新时间*/
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    private Date updateTime;
    /**关联分类*/
    private List<Long> categoryList = new ArrayList<>();
    /**关联商品*/
    private List<Long> productList = new ArrayList<>();
    /**关联优惠表*/
    private List<SmsDiscountDetail> detailList = new ArrayList<>();
    /**关联门店*/
    private List<Long> storeIdList = new ArrayList<>();
}
